#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

const double eps = 1e-5;

double dist(double x1, double y1, double x2, double y2);
double angle(double a, double b, double c);
double gcd(double x, double y);

int main()
{
	double x1, y1, x2, y2, x3, y3;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
	double a = dist(x1, y1, x2 , y2);
	double b = dist(x1, y1, x3 , y3);
	double c = dist(x2, y2, x3 , y3);
	double A = angle(a, b, c);
	double B = angle(b, a, c);
	double C = angle(c, a, b);
	double r = a/(2*sin(A));
	double n = M_PI / gcd(gcd(A, B), C);
	double s = n / 2 * r * r * sin(2 * M_PI / n);
	cout << setprecision(6) << fixed << s << endl;
}

double dist(double x1, double y1, double x2, double y2)
{
	return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}

double angle(double a, double b, double c)
{
	return acos((c*c + b*b - a*a) / (2*b*c));
}

double gcd(double x, double y)
{
	while (fabs(x) > eps && fabs(y) > eps) {
		if (x > y)
			x -= floor(x / y) * y;
		else
			y -= floor(y / x) * x;
	}
	return x + y;
}
